package cn.tedu.staff_user.management.service;

import cn.tedu.common.pojo.po.StaffSearchPO;
import cn.tedu.staff_user.management.pojo.entity.Staff;
import cn.tedu.staff_user.management.pojo.param.StaffAddNewParam;
import cn.tedu.staff_user.management.pojo.param.StaffUpdateParam;
import cn.tedu.staff_user.management.pojo.vo.StaffListItemVO;

import java.util.List;

public interface IStaffService {

    /**
     * 员工数据列表
     */
    List<StaffListItemVO> list();

    /**
     * 增加员工
     */
    void addNew(StaffAddNewParam staffAddNewParam);

    /**
     * 删除员工
     * @param id
     */
    void deleteById(Long id);

    /**
     * 更新员工
     * @param staffUpdateParam
     */
    void updateById(StaffUpdateParam staffUpdateParam);

    /**
     * 优秀员工
     *
     * @param id 尝试优秀员工
     */
    void setEnable(Long id);

    /**
     * 非优秀员工
     *
     * @param id 尝试非优秀员工
     */
    void disable(Long id);

    /**
     * 根据查看优秀员工接口
     */

    List<StaffListItemVO> selectList();

    /**
     * 查询用于搜索的商品数据列表，此搜索结果将用于写入到ES中
     *
     * @return 商品数据列表
     */
    List<StaffSearchPO> listSearch(String username);
}
